package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;

/**
 * java.util.Collection 集合
 * 集合可以保存一组元素,并且将元素操作都提供成了方法,使用便捷.
 * 集合提供了多种数据结构可供选择.
 *
 * Collection是集合的顶级接口,里面定义了所有集合都需要具备的功能
 * 常见的子接口:
 * java.util.List:常被称为"线性表",特点:可以存放重复元素且有序的集合
 * java.util.Set:不可存放重复元素的集合,大部分实现是无序的
 */
public class CollectionDemo1 {
    public static void main(String[] args) {
//        Collection c = new ArrayList();
        Collection c = new HashSet();//HashSet是常用的Set集合,不可存放重复元素且无序
        /*
            boolean add(E e)
            向集合中添加一个元素,如果元素被成功添加到集合中则返回true,否则返回false
         */
        boolean re = c.add("one");
        System.out.println("是否成功添加元素:"+re);
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        System.out.println(c);
        /*
            对于集合而言,重复元素的判定标准:元素自身的equals方法决定是否为重复元素
            意味着Set集合不存在内部元素equals比较为true的情况
         */
        re = c.add("one");
        System.out.println("是否成功添加元素:"+re);
        System.out.println(c);

        /*
            int size()
            返回当前集合的元素个数
         */
        int size = c.size();
        System.out.println("元素个数:"+size);

        /*
            boolean isEmpty()
            当集合size=0时,该方法返回true.表示为空集
         */
        boolean isEmpty = c.isEmpty();//判断当前集合是否为空集
        System.out.println("是否为空集:"+isEmpty);
        /*
            void clear()
            清空当前集合
         */
        c.clear();
        System.out.println(c);
        System.out.println("size:"+c.size());
        System.out.println("是否为空集:"+c.isEmpty());
    }
}






